//
// Created on 6/3/25.
//
// Node APIs are not fully supported. To solve the compilation error of the interface cannot be found,
// please include "napi/native_api.h".

#ifndef NEURONVIEW_EVENT_H
#define NEURONVIEW_EVENT_H
#include "graph.h"
enum class EventButton { NONE, LEFT, RIGHT, MIDDLE };
enum class EventAction { NONE, MOUSE_PRESS, MOUSE_RELEASE, MOUSE_MOVE,TOUCH_DOWN,TOUCH_UP,TOUCH_MOVE };

class Event {
public:
    Event();
    virtual ~Event();
    int x=0,y=0;
    EventButton button{EventButton::NONE};
    EventAction action{EventAction::NONE};
};
class MouseEvent:public Event{
public:
    MouseEvent();
    ~MouseEvent();
};
class TouchEvent:public Event{
public:
    TouchEvent();
    ~TouchEvent();
    int pointCount=1;
    Point points[10];
};
#endif //NEURONVIEW_EVENT_H
